package cn.itcast.crm.service;

import java.util.List;

import javax.jws.WebService;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;

import cn.itcast.crm.domain.Customer;

//编写webService服务接口
public interface CustomerService {
	// 查询所有未关联客户列表
	@Path("/noassociationcustomers")
	@GET  //--get查询     post新增      put修改    delete删除
	@Produces({ "application/xml", "application/json" })//
	public List<Customer> findNoAssociationCustomers();

	// 查询已经关联到指定定区的客户列表
	@Path("/noassociationcustomers/{fixedareaid}")
	@GET
	@Produces({ "application/xml", "application/json" })
	public List<Customer> findHasAssociationFixedAreaCustomers(@PathParam("fixedareaid") String fixedAreaId);

	// 将客户关联到定区上,
	@Path("/associationcustomerstofixedarea")
	@PUT
	public void associationCustomersToFixedArea(@QueryParam("customerIdStr") String customerIdStr,
			@QueryParam("fixedAreaId") String fixedAreaId);
	
	//保存用户注册信息
	@Path("/customer")
	@POST
	@Consumes({ "application/xml", "application/json" })
	public void regis(Customer customer);
	
	@Path("/customer/telephone/{telephone}")
	@GET
	@Consumes({ "application/xml", "application/json" })
	public Customer findByTelephone(@PathParam("telephone") String telephone);

	@Path("/customer/updatetype/{telephone}")
	@GET
	public void updateType(@PathParam("telephone") String telephone);
	
	@Path("/findFixedAreaId/{id}/{address}")
	@GET
	@Produces({ "application/xml", "application/json" })
	public String findFixedAreaId(@PathParam("id") Integer fixedAreaId,@PathParam("address") String address);
}
